Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: fast forward merge develop into master #315

Merged
merged 38 commits into from
Jul 12, 2024
Merged

Conversation

QuantumExplorer
Copy link
Member

Issue being fixed or feature implemented

What was done?

How Has This Been Tested?

Breaking Changes

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

iammadab and others added 30 commits July 13, 2023 15:57
* v1 of storage wipe

* implement guarded option

* cleanup wipe function

* delete guarded option type

* fmt

* get rid of self.db()

* use on one rocksdb constructor function

* fmt
* raw iterator delete

* wipe grovedb data with &self

* update comment

* cleanup
* Improve verify grovedb + better debug statements

* clean up

* return error rather than panic for verify_grovedb

* fix compile errors
* some refactoring

* tree to tree node

* removed just in time updates from commit time

* more work

* more work

* removed a comma

* added a callback method to be able to get the value defined costs

* more fixes

* grovedb working again

* fixed proof feature

* fixed bench

* clippy fixes

* fmt fixes

* updated to rc2

* updated caching system

* removed cache

* readded cache

* merge
* small improvements to reduce the call stack on heavy deletion

* small fix

* fix
* wip

* fmt

* modifications

---------

Co-authored-by: Quantum Explorer <[email protected]>
* wip

* factor offset values

* fix clippy errors
* update op ordering

* fix comment

* do fixed ordering, remove equality

* fmt
…e. (#276)

* update op ordering

* prevent panic in merk proof construction

* cleanup

* fix proof construction

* fix verification

* add documentation

* clippy fixes

* fixed non used error

* fmt

---------

Co-authored-by: Quantum Explorer <[email protected]>
* chore: debug for op value and flags

* style: fix formatting

* style: fix clippy warnings
* fix: enable visualized debug of elements by enabling features
…291)

* fix: query with empty parent path should return no error

* add in option to not error if intermediate paths dont exist

* more verbose error

* more verbose error

* fix for terminal keys

* fmt

* fix

* fix
* wip

    finalize multi chunk with limit

    implement chunk op

    test chunk op encoding

    convert chunk op chunk id to string

    implement traversal instruction to string

    add chunking error + devoid multi subtree chunk from encoding work

    multi-subtree-chunk skeleton + return encoding length in multichunk

    make chunks fixed size height 2

    test height proof

    implement height proof verifier

    update documentation

    verify height proof generation

    add documentation

    test no of chunk under chunk id fn

    implement number of chunks under chunk id function

    extract chunk layer function from chunk height

    seperate number_of_chunk into height and layer_height functions

    return multi chunk result

    enforce limit without storage overhead

    add test for encoding length check

    implement iterator for chunk producer

    remove cost from chunks

    fix the error type

    implement random chunk access

    fixes

    implement chunk height function

    add traverse then build chunk function to ref walker

    update comment

    implement chunk producer length

    init chunk producer struct

    implement merk tree height function

    update traversal generation instruction

    add instruction traversal test

    fix documentation

    implement binary range function

    clean up number of chunks function

    given a subtree of a given height return the exit node count

    documentation fixes

    implement chunk_height_per_layer

    verify that chunks produce expected root hash

    implement and test variable depth chunk creation

    restart chunking v2

* Squashed commit of the following:

    remove bad test

    rename files

    update documentation

    wip

    wip

    implement merk verifier + state building

    implement replication from multichunk

    fix chunk verification

    fixed implementation of chunkid from traversal instructions

    fix some tests

    make chunk_id from traversal instruction test resistant to changes in underlying chunking scheme

    add restoration logic test function

    returning the next chunk id when you call chunk

    use strings as communication interface between producer and restorer

    implement chunk id from traversal instruction

    add traversal instruction generation to direct string

    chunk producer returns next index as string for multi chunk

    clean up rewrite parent links

    restoration done successfully

    rough implementation of rewrite parent

    implement function to extract sum from node type

    wip

    chunk write logic + restorer finalization + parent key tracking

    new visit ref function that keeps track of traversal path

    implement instruction string to traversal instruction

    test child to link functionality for basic and sum merks

    implement node to link include sum

    wip

    implement and test chunk verification

    Fix layer iter function

    Previous implementation made a key assumption that nodes are unique
    including hash nodes, this made the layer iteration functionality
    depend on the contents of the tree, which shouldn't be the case.

    This adds a simpler implementation of the layer iter logic using breadth
    first search.

    add test to ensure chunks only contain hash and kvfeaturetype

    test for avl tree during proof op execution

    remove chunk_height_per_layer_lin_comb every chunk now has fixed height of 2

* wip

* wip

* wip

* rename job

* clippy fixes

* feat: base state sync

* dynamic chunk id calculation

* more work

* more work

* more work

* fix: help with lifetimes

* more work

* final work

* cargo fmt

* more fmt

* clippy fixes

* more fmt

* fix for verify feature

* more fmt

* test fixes

* more fmt

* refactor

* refactor

* refactor

* more refactoring

* more refactoring

* fmt

* suggestions

---------

Co-authored-by: Wisdom Ogwu <[email protected]>
* chunk ids as a vec of bytes

* more work

* more work

* more work

* fmt
* feat: added versioning in state sync

* clippy fixes
* multi subtrees sync

* adjustements

* fmt

* clippy warnings

* fmt
* state sync APIs use encoded ops

* fmt

* clippy

* fmt

* refactor
…tateSyncInfo` (#298)

* correct constructors

* default impl

* default impl

* refactoring

* fix
add `grovedbg` feature and a visualizer HTTP server under it
* adjustements

* fmt

* clippy

* clippy

* fmt

* suggestions
1. Each path segment can be displayed with individual settings shared across every usage
2. Bytes (path segments, keys, values) now have more sensible default for their display option
3. VarInt display variant
4. Jump to subtree functionality
5. Error logging
6. Drive profile
fominok and others added 8 commits June 20, 2024 09:11
…rces PR (#307)

* feat: added new method to query item value or sum

* feat: added new method to query item value or sum

* feat: added new method to query item value or sum

* feat: added new method to query item value or sum

* feat: extra helpers

* feat: allow to refer to sum trees

* changed lifetimes

* changed lifetimes

* more fixes

* fix

* more fixes

* sync session manages its transaction

* more fixes

* fmt

* small helper

* additional helpers

* added new reference type

* some fixes

* some fixes

* some fixes

* added convenience method

* added a new function

* made a struct copyable

* added a little more information for an error

* added a few more helper methods

* added a few more helper methods

* fmt

* better internal error fix

* fix

* fixed import

* fmt

* small fixes

* some clippy fixes

* query sum tree

* qfix

* better error messages for proof errors

* added debug

* make hex required

* a few improvements

* a few improvements

* a few improvements

* a few improvements

---------

Co-authored-by: Odysseas Gabrielides <[email protected]>
Co-authored-by: Evgeny Fomin <[email protected]>
* potential limit fix

* removed offset from proofs

* new proof system

* much more work on new proof system

* more work on new proof system

* more work on proofs

* much more work on proofs

* more work on proofs

* more work

* more fixes

* fmt

* more work

* fixed tests for merk proofs

* more work

* more work

* more work

* more work

* all tests passing

* trial

* more work

* complex conditional queries

* cleanup

* clippy fixes

* fmt

* small fix

* fmt

* reactivated test

* cleaned up merk

* cleaned up merk

* small fix

* cleaned up verification imports

* clippy fixes

* clippy fixes

* added documentation
* temp work

* temp work

* fmt

* more work

* more work

* finish of versioning

* finish of versioning

* fixed debugger
@QuantumExplorer QuantumExplorer requested a review from fominok as a code owner July 12, 2024 13:04
@QuantumExplorer
Copy link
Member Author

v1.0.0 rc2

@QuantumExplorer QuantumExplorer merged commit ad0dc84 into master Jul 12, 2024
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants